import cv2
import numpy as np

def grayscale(img):
    return cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

def FFT(img):
    # 快速傅里叶变换
    img_fft = np.fft.fft2(img)
    # 原点移动
    img_fft = np.fft.fftshift(img_fft)
    # 对数变换
    img_fft = np.log(1 + np.abs(img_fft))

    return img_fft


def DCT(img):
    img = img.astype('float32')
    # 离散余弦变换
    img_dct = cv2.dct(img)
    # 对数变换
    img_dct = np.log(1+ np.abs(img_dct))

    return img_dct

